]> shimmer.witbreuk.eu Git - UltimateKEYS.git/blobdiff - autohotkey-v2.0/UltimateKEYS (for AutoHotkey v2.0).ahk
Add files via upload
[UltimateKEYS.git] / autohotkey-v2.0 / UltimateKEYS (for AutoHotkey v2.0).ahk
index 6b9c6601e294efbff9167b53df57b83f878ab959..240994fb0560ce9dec344ce38b5e5229f42435bc 100644 (file)
@@ -1,4 +1,4 @@
-; UltimateKEYS (for AutoHotkey v2.0).ahk - 2022-05-23
+; UltimateKEYS (for AutoHotkey v2.0).ahk - 2022-05-28
 
 ; Website :  www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
 
 
 ; Website :  www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
 
@@ -89,8 +89,6 @@ cmpCaron["t"] := "{u+0165}"  ; (ť) t with caron
 cmpCaron["T"] := "{u+0164}"  ; (Ť) T with caron
 cmpCaron["u"] := "{u+01d4}"  ; (ǔ) u with caron
 cmpCaron["U"] := "{u+01d3}"  ; (Ǔ) U with caron
 cmpCaron["T"] := "{u+0164}"  ; (Ť) T with caron
 cmpCaron["u"] := "{u+01d4}"  ; (ǔ) u with caron
 cmpCaron["U"] := "{u+01d3}"  ; (Ǔ) U with caron
-cmpCaron["v"] := "{u+01da}"  ; (ǚ) u with diaeresis and caron
-cmpCaron["V"] := "{u+01d9}"  ; (Ǚ) U with diaeresis and caron
 cmpCaron["z"] := "{u+017e}"  ; (ž) z with caron
 cmpCaron["Z"] := "{u+017d}"  ; (Ž) Z with caron
 cmpCaron["3"] := "{u+01ef}"  ; (ǯ) small letter ezh with caron
 cmpCaron["z"] := "{u+017e}"  ; (ž) z with caron
 cmpCaron["Z"] := "{u+017d}"  ; (Ž) Z with caron
 cmpCaron["3"] := "{u+01ef}"  ; (ǯ) small letter ezh with caron
@@ -151,6 +149,8 @@ cmpDotAbove["Z"] := "{u+017b}"  ; (Ż) Z with dot above
 ; Compose :  Ring Above (o)
 
 global cmpRingAbove := Map()
 ; Compose :  Ring Above (o)
 
 global cmpRingAbove := Map()
+cmpRingAbove["a"] := "{u+00e5}"  ; (å) a with ring above
+cmpRingAbove["A"] := "{u+00c5}"  ; (Å) A with ring above
 cmpRingAbove["u"] := "{u+016f}"  ; (ů) u with ring above
 cmpRingAbove["U"] := "{u+016e}"  ; (Ů) U with ring above
 cmpRingAbove["w"] := "{u+1e98}"  ; (ẘ) w with ring above
 cmpRingAbove["u"] := "{u+016f}"  ; (ů) u with ring above
 cmpRingAbove["U"] := "{u+016e}"  ; (Ů) U with ring above
 cmpRingAbove["w"] := "{u+1e98}"  ; (ẘ) w with ring above
@@ -182,14 +182,14 @@ cmpMacronStroke["o"] := "{u+014d}"  ; (ō) o with macron
 cmpMacronStroke["O"] := "{u+014c}"  ; (Ō) O with macron
 cmpMacronStroke["p"] := "{u+1d7d}"  ; (ᵽ) p with stroke
 cmpMacronStroke["P"] := "{u+2c63}"  ; (Ᵽ) P with stroke
 cmpMacronStroke["O"] := "{u+014c}"  ; (Ō) O with macron
 cmpMacronStroke["p"] := "{u+1d7d}"  ; (ᵽ) p with stroke
 cmpMacronStroke["P"] := "{u+2c63}"  ; (Ᵽ) P with stroke
+cmpMacronStroke["q"] := "{u+01ed}"  ; (ǭ) o with ogonek and macron
+cmpMacronStroke["Q"] := "{u+01ec}"  ; (Ǭ) O with ogonek and macron
 cmpMacronStroke["r"] := "{u+024d}"  ; (ɍ) r with stroke
 cmpMacronStroke["R"] := "{u+024c}"  ; (Ɍ) R with stroke
 cmpMacronStroke["t"] := "{u+0167}"  ; (ŧ) t with stroke
 cmpMacronStroke["T"] := "{u+0166}"  ; (Ŧ) T with stroke
 cmpMacronStroke["u"] := "{u+016b}"  ; (ū) u with macron
 cmpMacronStroke["U"] := "{u+016a}"  ; (Ū) U with macron
 cmpMacronStroke["r"] := "{u+024d}"  ; (ɍ) r with stroke
 cmpMacronStroke["R"] := "{u+024c}"  ; (Ɍ) R with stroke
 cmpMacronStroke["t"] := "{u+0167}"  ; (ŧ) t with stroke
 cmpMacronStroke["T"] := "{u+0166}"  ; (Ŧ) T with stroke
 cmpMacronStroke["u"] := "{u+016b}"  ; (ū) u with macron
 cmpMacronStroke["U"] := "{u+016a}"  ; (Ū) U with macron
-cmpMacronStroke["v"] := "{u+01d6}"  ; (ǖ) u with diaeresis and macron
-cmpMacronStroke["V"] := "{u+01d5}"  ; (Ǖ) U with diaeresis and macron
 cmpMacronStroke["y"] := "{u+0233}"  ; (ȳ) y with macron
 cmpMacronStroke["Y"] := "{u+0232}"  ; (Ȳ) Y with macron
 cmpMacronStroke["z"] := "{u+01b6}"  ; (ƶ) z with stroke
 cmpMacronStroke["y"] := "{u+0233}"  ; (ȳ) y with macron
 cmpMacronStroke["Y"] := "{u+0232}"  ; (Ȳ) Y with macron
 cmpMacronStroke["z"] := "{u+01b6}"  ; (ƶ) z with stroke
@@ -200,21 +200,16 @@ cmpMacronStroke[" "] := "{u+00af}"  ; (¯) macron
 ; Compose :  Macron/Stroke (Additional) (_)
 
 global cmpMacronStrokeAdd := Map()
 ; Compose :  Macron/Stroke (Additional) (_)
 
 global cmpMacronStrokeAdd := Map()
-cmpMacronStrokeAdd["a"] := "{u+01e3}"  ; (ǣ) ae with macron
-cmpMacronStrokeAdd["A"] := "{u+01e2}"  ; (Ǣ) AE with macron
 cmpMacronStrokeAdd["g"] := "{u+1e21}"  ; (ḡ) g with macron
 cmpMacronStrokeAdd["G"] := "{u+1e20}"  ; (Ḡ) G with macron
 cmpMacronStrokeAdd["i"] := "{u+0268}"  ; (ɨ) i with stroke
 cmpMacronStrokeAdd["I"] := "{u+0197}"  ; (Ɨ) I with stroke
 cmpMacronStrokeAdd["l"] := "{u+019a}"  ; (ƚ) l with bar
 cmpMacronStrokeAdd["L"] := "{u+023d}"  ; (Ƚ) L with bar
 cmpMacronStrokeAdd["g"] := "{u+1e21}"  ; (ḡ) g with macron
 cmpMacronStrokeAdd["G"] := "{u+1e20}"  ; (Ḡ) G with macron
 cmpMacronStrokeAdd["i"] := "{u+0268}"  ; (ɨ) i with stroke
 cmpMacronStrokeAdd["I"] := "{u+0197}"  ; (Ɨ) I with stroke
 cmpMacronStrokeAdd["l"] := "{u+019a}"  ; (ƚ) l with bar
 cmpMacronStrokeAdd["L"] := "{u+023d}"  ; (Ƚ) L with bar
-cmpMacronStrokeAdd["o"] := "{u+01ed}"  ; (ǭ) o with ogonek and macron
-cmpMacronStrokeAdd["O"] := "{u+01ec}"  ; (Ǭ) O with ogonek and macron
 cmpMacronStrokeAdd["u"] := "{u+0289}"  ; (ʉ) u with bar
 cmpMacronStrokeAdd["U"] := "{u+0244}"  ; (Ʉ) U with bar
 cmpMacronStrokeAdd["y"] := "{u+024f}"  ; (ɏ) y with stroke
 cmpMacronStrokeAdd["Y"] := "{u+024e}"  ; (Ɏ) Y with stroke
 cmpMacronStrokeAdd["u"] := "{u+0289}"  ; (ʉ) u with bar
 cmpMacronStrokeAdd["U"] := "{u+0244}"  ; (Ʉ) U with bar
 cmpMacronStrokeAdd["y"] := "{u+024f}"  ; (ɏ) y with stroke
 cmpMacronStrokeAdd["Y"] := "{u+024e}"  ; (Ɏ) Y with stroke
-cmpMacronStrokeAdd[" "] := "{u+00af}"  ; (¯) macron
 
 
 ; Compose :  Stroke (/)
 
 
 ; Compose :  Stroke (/)
@@ -231,6 +226,8 @@ cmpStroke["g"] := "{u+a7a1}"  ; (ꞡ) g with oblique stroke
 cmpStroke["G"] := "{u+a7a0}"  ; (Ꞡ) G with oblique stroke
 cmpStroke["k"] := "{u+a7a3}"  ; (ꞣ) k with oblique stroke
 cmpStroke["K"] := "{u+a7a2}"  ; (Ꞣ) K with oblique stroke
 cmpStroke["G"] := "{u+a7a0}"  ; (Ꞡ) G with oblique stroke
 cmpStroke["k"] := "{u+a7a3}"  ; (ꞣ) k with oblique stroke
 cmpStroke["K"] := "{u+a7a2}"  ; (Ꞣ) K with oblique stroke
+cmpStroke["l"] := "{u+0142}"  ; (ł) l with stroke
+cmpStroke["L"] := "{u+0141}"  ; (Ł) L with stroke
 cmpStroke["n"] := "{u+a7a5}"  ; (ꞥ) n with oblique stroke
 cmpStroke["N"] := "{u+a7a4}"  ; (Ꞥ) N with oblique stroke
 cmpStroke["o"] := "{u+00f8}"  ; (ø) o with stroke
 cmpStroke["n"] := "{u+a7a5}"  ; (ꞥ) n with oblique stroke
 cmpStroke["N"] := "{u+a7a4}"  ; (Ꞥ) N with oblique stroke
 cmpStroke["o"] := "{u+00f8}"  ; (ø) o with stroke
@@ -364,22 +361,13 @@ cmpAcuteAccent["s"] := "{u+015b}"  ; (ś) s with acute
 cmpAcuteAccent["S"] := "{u+015a}"  ; (Ś) S with acute
 cmpAcuteAccent["u"] := "{u+00fa}"  ; (ú) u with acute
 cmpAcuteAccent["U"] := "{u+00da}"  ; (Ú) U with acute
 cmpAcuteAccent["S"] := "{u+015a}"  ; (Ś) S with acute
 cmpAcuteAccent["u"] := "{u+00fa}"  ; (ú) u with acute
 cmpAcuteAccent["U"] := "{u+00da}"  ; (Ú) U with acute
-cmpAcuteAccent["v"] := "{u+01d8}"  ; (ǘ) u with diaeresis and acute
-cmpAcuteAccent["V"] := "{u+01d7}"  ; (Ǘ) U with diaeresis and acute
 cmpAcuteAccent["w"] := "{u+1e83}"  ; (ẃ) w with acute
 cmpAcuteAccent["W"] := "{u+1e82}"  ; (Ẃ) W with acute
 cmpAcuteAccent["y"] := "{u+00fd}"  ; (ý) y with acute
 cmpAcuteAccent["Y"] := "{u+00dd}"  ; (Ý) Y with acute
 cmpAcuteAccent["z"] := "{u+017a}"  ; (ź) z with acute
 cmpAcuteAccent["Z"] := "{u+0179}"  ; (Ź) Z with acute
 cmpAcuteAccent["w"] := "{u+1e83}"  ; (ẃ) w with acute
 cmpAcuteAccent["W"] := "{u+1e82}"  ; (Ẃ) W with acute
 cmpAcuteAccent["y"] := "{u+00fd}"  ; (ý) y with acute
 cmpAcuteAccent["Y"] := "{u+00dd}"  ; (Ý) Y with acute
 cmpAcuteAccent["z"] := "{u+017a}"  ; (ź) z with acute
 cmpAcuteAccent["Z"] := "{u+0179}"  ; (Ź) Z with acute
-cmpAcuteAccent["b"] := "{u+01fb}"  ; (ǻ) a with ring above and acute
-cmpAcuteAccent["B"] := "{u+01fa}"  ; (Ǻ) A with ring above and acute
-cmpAcuteAccent["d"] := "{u+1e09}"  ; (ḉ) c with cedilla and acute
-cmpAcuteAccent["D"] := "{u+1e08}"  ; (Ḉ) C with cedilla and acute
-cmpAcuteAccent["f"] := "{u+01fd}"  ; (ǽ) ae with acute
-cmpAcuteAccent["F"] := "{u+01fc}"  ; (Ǽ) AE with acute
-cmpAcuteAccent["q"] := "{u+01ff}"  ; (ǿ) o with stroke and acute
-cmpAcuteAccent["Q"] := "{u+01fe}"  ; (Ǿ) O with stroke and acute
+cmpAcuteAccent[" "] := "{u+00b4}"  ; (´) acute accent
 
 
 ; Compose :  Diaeresis (")
 
 
 ; Compose :  Diaeresis (")
@@ -407,15 +395,13 @@ cmpDiaeresis["Y"] := "{u+0178}"  ; (Ÿ) Y with diaeresis
 cmpDiaeresis[" "] := "{u+00a8}"  ; (¨) diaeresis
 
 
 cmpDiaeresis[" "] := "{u+00a8}"  ; (¨) diaeresis
 
 
-; Compose :  Double Acute Accent and Special Letters (=)
+; Compose :  Double Acute Accent (=)
 
 global cmpDoubleAcute := Map()
 cmpDoubleAcute["o"] := "{u+0151}"  ; (ő) o with double acute
 cmpDoubleAcute["O"] := "{u+0150}"  ; (Ő) O with double acute
 cmpDoubleAcute["u"] := "{u+0171}"  ; (ű) u with double acute
 cmpDoubleAcute["U"] := "{u+0170}"  ; (Ű) U with double acute
 
 global cmpDoubleAcute := Map()
 cmpDoubleAcute["o"] := "{u+0151}"  ; (ő) o with double acute
 cmpDoubleAcute["O"] := "{u+0150}"  ; (Ő) O with double acute
 cmpDoubleAcute["u"] := "{u+0171}"  ; (ű) u with double acute
 cmpDoubleAcute["U"] := "{u+0170}"  ; (Ű) U with double acute
-cmpDoubleAcute["h"] := "{u+a727}"  ; (ꜧ) small letter heng
-cmpDoubleAcute["H"] := "{u+a726}"  ; (Ꜧ) capital letter heng
 cmpDoubleAcute[" "] := "{u+02dd}"  ; (˝) double acute accent
 
 
 cmpDoubleAcute[" "] := "{u+02dd}"  ; (˝) double acute accent
 
 
@@ -434,8 +420,6 @@ cmpGraveAccent["o"] := "{u+00f2}"  ; (ò) o with grave
 cmpGraveAccent["O"] := "{u+00d2}"  ; (Ò) O with grave
 cmpGraveAccent["u"] := "{u+00f9}"  ; (ù) u with grave
 cmpGraveAccent["U"] := "{u+00d9}"  ; (Ù) U with grave
 cmpGraveAccent["O"] := "{u+00d2}"  ; (Ò) O with grave
 cmpGraveAccent["u"] := "{u+00f9}"  ; (ù) u with grave
 cmpGraveAccent["U"] := "{u+00d9}"  ; (Ù) U with grave
-cmpGraveAccent["v"] := "{u+01dc}"  ; (ǜ) u with diaeresis and grave
-cmpGraveAccent["V"] := "{u+01db}"  ; (Ǜ) U with diaeresis and grave
 cmpGraveAccent["w"] := "{u+1e81}"  ; (ẁ) w with grave
 cmpGraveAccent["W"] := "{u+1e80}"  ; (Ẁ) W with grave
 cmpGraveAccent["y"] := "{u+1ef3}"  ; (ỳ) y with grave
 cmpGraveAccent["w"] := "{u+1e81}"  ; (ẁ) w with grave
 cmpGraveAccent["W"] := "{u+1e80}"  ; (Ẁ) W with grave
 cmpGraveAccent["y"] := "{u+1ef3}"  ; (ỳ) y with grave
@@ -443,7 +427,7 @@ cmpGraveAccent["Y"] := "{u+1ef2}"  ; (Ỳ) Y with grave
 cmpGraveAccent[" "] := "{u+02cb}"  ; (ˋ) grave accent (modifier)
 
 
 cmpGraveAccent[" "] := "{u+02cb}"  ; (ˋ) grave accent (modifier)
 
 
-; Compose :  Double Grave (G)
+; Compose :  Double Grave Accent (G)
 
 global cmpDoubleGrave := Map()
 cmpDoubleGrave["a"] := "{u+0201}"  ; (ȁ) a with double grave
 
 global cmpDoubleGrave := Map()
 cmpDoubleGrave["a"] := "{u+0201}"  ; (ȁ) a with double grave
@@ -469,6 +453,8 @@ cmpTilde["e"] := "{u+1ebd}"  ; (ẽ) e with tilde
 cmpTilde["E"] := "{u+1ebc}"  ; (Ẽ) E with tilde
 cmpTilde["i"] := "{u+0129}"  ; (ĩ) i with tilde
 cmpTilde["I"] := "{u+0128}"  ; (Ĩ) I with tilde
 cmpTilde["E"] := "{u+1ebc}"  ; (Ẽ) E with tilde
 cmpTilde["i"] := "{u+0129}"  ; (ĩ) i with tilde
 cmpTilde["I"] := "{u+0128}"  ; (Ĩ) I with tilde
+cmpTilde["l"] := "{u+026b}"  ; (ɫ) l with middle tilde
+cmpTilde["L"] := "{u+2c62}"  ; (Ɫ) L with middle tilde
 cmpTilde["n"] := "{u+00f1}"  ; (ñ) n with tilde
 cmpTilde["N"] := "{u+00d1}"  ; (Ñ) N with tilde
 cmpTilde["o"] := "{u+00f5}"  ; (õ) o with tilde
 cmpTilde["n"] := "{u+00f1}"  ; (ñ) n with tilde
 cmpTilde["N"] := "{u+00d1}"  ; (Ñ) N with tilde
 cmpTilde["o"] := "{u+00f5}"  ; (õ) o with tilde
@@ -479,7 +465,7 @@ cmpTilde["v"] := "{u+1e7d}"  ; (ṽ) v with tilde
 cmpTilde["V"] := "{u+1e7c}"  ; (Ṽ) V with tilde
 cmpTilde["y"] := "{u+1ef9}"  ; (ỹ) y with tilde
 cmpTilde["Y"] := "{u+1ef8}"  ; (Ỹ) Y with tilde
 cmpTilde["V"] := "{u+1e7c}"  ; (Ṽ) V with tilde
 cmpTilde["y"] := "{u+1ef9}"  ; (ỹ) y with tilde
 cmpTilde["Y"] := "{u+1ef8}"  ; (Ỹ) Y with tilde
-cmpTilde[" "] := "{u+02dc}"  ; (˜) tilde
+cmpTilde[" "] := "{u+02dc}"  ; (˜) small tilde
 
 
 ; Compose :  Hook and Latin Greek Letters (h)
 
 
 ; Compose :  Hook and Latin Greek Letters (h)
@@ -544,6 +530,8 @@ cmpHorn["u"] := "{u+01b0}"  ; (ư) u with horn
 cmpHorn["U"] := "{u+01af}"  ; (Ư) U with horn
 cmpHorn["g"] := "{u+ab36}"  ; (ꬶ) cross-tailed g
 cmpHorn["h"] := "{u+0267}"  ; (ɧ) small letter heng with hook
 cmpHorn["U"] := "{u+01af}"  ; (Ư) U with horn
 cmpHorn["g"] := "{u+ab36}"  ; (ꬶ) cross-tailed g
 cmpHorn["h"] := "{u+0267}"  ; (ɧ) small letter heng with hook
+cmpHorn["j"] := "{u+a727}"  ; (ꜧ) small letter heng
+cmpHorn["J"] := "{u+a726}"  ; (Ꜧ) capital letter heng
 cmpHorn["k"] := "{u+0138}"  ; (ĸ) small letter kra
 cmpHorn["s"] := "{u+017f}"  ; (ſ) small long s
 cmpHorn["S"] := "{u+1e9b}"  ; (ẛ) small long s with dot above
 cmpHorn["k"] := "{u+0138}"  ; (ĸ) small letter kra
 cmpHorn["s"] := "{u+017f}"  ; (ſ) small long s
 cmpHorn["S"] := "{u+1e9b}"  ; (ẛ) small long s with dot above
@@ -562,7 +550,7 @@ cmpTurned["v"] := "{u+028c}"  ; (ʌ) latin small letter turned v
 cmpTurned["V"] := "{u+0245}"  ; (Ʌ) latin capital letter turned V
 
 
 cmpTurned["V"] := "{u+0245}"  ; (Ʌ) latin capital letter turned V
 
 
-; Compose :  Currency ($)
+; Compose :  Currency Symbols ($)
 
 global cmpCurrency := Map()
 cmpCurrency["a"] := "{u+058f}"  ; (֏) Armenian dram
 
 global cmpCurrency := Map()
 cmpCurrency["a"] := "{u+058f}"  ; (֏) Armenian dram
@@ -945,7 +933,6 @@ cmpCapitalT["H"] := "{u+00de}"         ; (Þ) capital letter thorn
 
 global cmpSmallN := Map()
 global cmpCapitalN := Map()
 
 global cmpSmallN := Map()
 global cmpCapitalN := Map()
-global cmpSmallP := Map()
 global cmpCapitalP := Map()
 global cmpSmallR := Map()
 global cmpAsterisk := Map()
 global cmpCapitalP := Map()
 global cmpSmallR := Map()
 global cmpAsterisk := Map()
@@ -967,7 +954,7 @@ cmpMathSymbols["i"] := "{u+00b5}"      ; (µ) micro sign
 cmpSmallN["o"] := "{u+2116}"           ; (№) numero sign
 cmpCapitalN["o"] := "{u+2116}"         ; (№) numero sign
 cmpRingAbove["x"] := "{u+00a4}"        ; (¤) currency sign
 cmpSmallN["o"] := "{u+2116}"           ; (№) numero sign
 cmpCapitalN["o"] := "{u+2116}"         ; (№) numero sign
 cmpRingAbove["x"] := "{u+00a4}"        ; (¤) currency sign
-cmpSmallP["p"] := "{u+00b6}"           ; (¶) pilcrow sign
+cmpSuperscript["p"] := "{u+00b6}"      ; (¶) pilcrow sign
 cmpCapitalP["P"] := "{u+00b6}"         ; (¶) pilcrow sign
 cmpSmallR["2"] := "{u+221a}"           ; (√) square root
 cmpSmallR["3"] := "{u+221b}"           ; (∛) cube root
 cmpCapitalP["P"] := "{u+00b6}"         ; (¶) pilcrow sign
 cmpSmallR["2"] := "{u+221a}"           ; (√) square root
 cmpSmallR["3"] := "{u+221b}"           ; (∛) cube root
@@ -1011,6 +998,7 @@ cmpGreaterThan["+"] := "{u+2a7e}"      ; (⩾) greater-than or slanted equal to
 cmpTilde["~"] := "{u+2248}"            ; (≈) almost equal to
 cmpBracketLeft["]"] := "{u+2610}"      ; (☐) ballot box
 cmpBracketLeft["v"] := "{u+2611}"      ; (☑) ballot box with check
 cmpTilde["~"] := "{u+2248}"            ; (≈) almost equal to
 cmpBracketLeft["]"] := "{u+2610}"      ; (☐) ballot box
 cmpBracketLeft["v"] := "{u+2611}"      ; (☑) ballot box with check
+cmpBracketLeft["y"] := "{u+2611}"      ; (☑) ballot box with check
 cmpBracketLeft["x"] := "{u+2612}"      ; (☒) ballot box with x
 
 
 cmpBracketLeft["x"] := "{u+2612}"      ; (☒) ballot box with x
 
 
@@ -1041,13 +1029,28 @@ cmpGreaterThan["'"] := "{u+203a}"        ; (›) right-pointing single angle quo
 cmpAcuteAccent[">"] := "{u+203a}"        ; (›) right-pointing single angle quotation mark
 
 
 cmpAcuteAccent[">"] := "{u+203a}"        ; (›) right-pointing single angle quotation mark
 
 
-; Compose :  Letters with Two Accents
+; Compose :  Letters with Two Diacritical Marks
 
 
+global cmpCapitalC := Map()
+global cmpSmallE := Map()
+global cmpCapitalE := Map()
 global cmpCapitalU := Map()
 cmpArrow[chr(34)] := "{u+01df}"      ; (ǟ) a with diaeresis and macron
 cmpCapitalA[chr(34)] := "{u+01de}"   ; (Ǟ) A with diaeresis and macron
 cmpArrow["."] := "{u+01e1}"          ; (ǡ) a with dot above and macron
 cmpCapitalA["."] := "{u+01e0}"       ; (Ǡ) A with dot above and macron
 global cmpCapitalU := Map()
 cmpArrow[chr(34)] := "{u+01df}"      ; (ǟ) a with diaeresis and macron
 cmpCapitalA[chr(34)] := "{u+01de}"   ; (Ǟ) A with diaeresis and macron
 cmpArrow["."] := "{u+01e1}"          ; (ǡ) a with dot above and macron
 cmpCapitalA["."] := "{u+01e0}"       ; (Ǡ) A with dot above and macron
+cmpArrow["'"] := "{u+01fb}"          ; (ǻ) a with ring above and acute
+cmpCapitalA["'"] := "{u+01fa}"       ; (Ǻ) A with ring above and acute
+cmpCircumflex["'"] := "{u+1e09}"     ; (ḉ) c with cedilla and acute
+cmpCapitalC["'"] := "{u+1e08}"       ; (Ḉ) C with cedilla and acute
+cmpSmallE["-"] := "{u+01e3}"         ; (ǣ) ae with macron
+cmpCapitalE["-"] := "{u+01e2}"       ; (Ǣ) AE with macron
+cmpSmallE["'"] := "{u+01fd}"         ; (ǽ) ae with acute
+cmpCapitalE["'"] := "{u+01fc}"       ; (Ǽ) AE with acute
+cmpRingAbove[","] := "{u+01ed}"      ; (ǭ) o with ogonek and macron
+cmpCapitalO[","] := "{u+01ec}"       ; (Ǭ) O with ogonek and macron
+cmpRingAbove["'"] := "{u+01ff}"      ; (ǿ) o with stroke and acute
+cmpCapitalO["'"] := "{u+01fe}"       ; (Ǿ) O with stroke and acute
 cmpRingAbove[chr(34)] := "{u+022b}"  ; (ȫ) o with diaeresis and macron
 cmpCapitalO[chr(34)] := "{u+022a}"   ; (Ȫ) O with diaeresis and macron
 cmpRingAbove["~"] := "{u+022d}"      ; (ȭ) o with tilde and macron
 cmpRingAbove[chr(34)] := "{u+022b}"  ; (ȫ) o with diaeresis and macron
 cmpCapitalO[chr(34)] := "{u+022a}"   ; (Ȫ) O with diaeresis and macron
 cmpRingAbove["~"] := "{u+022d}"      ; (ȭ) o with tilde and macron
@@ -1694,10 +1697,6 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     if cmpCapitalN.Has(ihB.Input)
       Send cmpCapitalN[ihB.Input]
   }
     if cmpCapitalN.Has(ihB.Input)
       Send cmpCapitalN[ihB.Input]
   }
-  else if (ihA.Input == "p") {
-    if cmpSmallP.Has(ihB.Input)
-      Send cmpSmallP[ihB.Input]
-  }
   else if (ihA.Input == "P") {
     if cmpCapitalP.Has(ihB.Input)
       Send cmpCapitalP[ihB.Input]
   else if (ihA.Input == "P") {
     if cmpCapitalP.Has(ihB.Input)
       Send cmpCapitalP[ihB.Input]
@@ -1746,6 +1745,18 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     if cmpBracketRight.Has(ihB.Input)
       Send cmpBracketRight[ihB.Input]
   }
     if cmpBracketRight.Has(ihB.Input)
       Send cmpBracketRight[ihB.Input]
   }
+  else if (ihA.Input == "C") {
+    if cmpCapitalC.Has(ihB.Input)
+      Send cmpCapitalC[ihB.Input]
+  }
+  else if (ihA.Input == "e") {
+    if cmpSmallE.Has(ihB.Input)
+      Send cmpSmallE[ihB.Input]
+  }
+  else if (ihA.Input == "E") {
+    if cmpCapitalE.Has(ihB.Input)
+      Send cmpCapitalE[ihB.Input]
+  }
   else if (ihA.Input == "U") {
     if cmpCapitalU.Has(ihB.Input)
       Send cmpCapitalU[ihB.Input]
   else if (ihA.Input == "U") {
     if cmpCapitalU.Has(ihB.Input)
       Send cmpCapitalU[ihB.Input]